iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 4
0
Modern Web

弄點簡單的 Chrome Extension 讓生活更方便系列 第 4

Chrome Extension 04 – ig 自動按愛心

  • 分享至 

  • xImage
  •  

由於之前很流行洗按讚,所以用 Chrome Extension 也寫了一個

manifest.json 部分

  • browser_action 仍需要有東西,所以傳了 {}
{
    "manifest_version" :2,
    "name" : "igLike",
    "version" : "1.0",
    "description" : "懶得按愛心",
    "icons" :{
        "128" : "icon128.png",
        "48" : "icon48.png",
        "16" : "icon16.png"
    },
    "background" :{
        "scripts" :["eventPage.js"],
        "persistent" : false
    },
    "browser_action": {},
    "permissions" : ["activeTab"]
}

eventPage.js 內容如下

  • 主要使用了 chrome.tabs.executeScript 在網頁上執行 js
  • 功能跟前面大同小異,即點下 icon 的時候會執行一段 js 程式
var toggle = false;
chrome.browserAction.onClicked.addListener(function(tab) {
    toggle = !toggle;
    if (toggle) {
            chrome.tabs.executeScript(tab.id,
                {
                    file : 'likescript.js'
                }
            );
        
    } else {
        chrome.tabs.executeScript(tab.id,
            {
                code : 'clearInterval(timer);'
            }
        );
        
    }
});

likescript.js 程式內容,也可直接在 Chrome 的 Console Window 裡面執行

  • 核心功能,會不斷的把網頁往下拉,並找到沒按讚的元素,並按下去
timer = setInterval(function() {
    window.scrollBy(0, 1000);
    var elements = document.getElementsByClassName("coreSpriteHeartOpen");

    for (let index = 0; index < elements.length; index++) {
        const element = elements[index];
        var span = element.getElementsByTagName("span");
        var text = span[0].getAttribute("aria-label");
        if(text=="讚")
        {
            element.click();
        }
    }
}, 2000);

**執行結果 : **
點擊 icon 之後網頁會不斷的往下捲動,當元素抓到為[讚]時就會按下去。

https://ithelp.ithome.com.tw/upload/images/20181019/20094223pwtmCMHLpy.png
執行之後,就可以安心去睡了~

感謝大家收看 :)


上一篇
Chrome Extension 03 – 警告 facebook 待太久
下一篇
Chrome Extension 05 – 使用 google 翻譯學英文
系列文
弄點簡單的 Chrome Extension 讓生活更方便30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言